package org.dyndns.opendemogroup.optimizer;

import java.util.Random;

// TODO: add bool makeValid ( );
/**
 * An encapsulation of a set of parameters which need to be optimized.
 */
public interface IOptimizationProblem
{
	int getMemberSize ( );

	int getGeneRange ( );

	double computeFitness ( Random randomSource );

	boolean isMaximizing ( );

	boolean isCombinatorialOptimization ( );

	boolean makeValid ( );
}
